Jerry's Log

AI agent

contents

AI 에이전트는 환경을 인지하고, AI 모델을 사용해 의사결정을 내리며, 특정 목표를 달성하기 위해 행동을 취할 수 있는 자율 시스템입니다.

이는 단순한 AI 모델 을 넘어서는 큰 도약입니다. 모델은 단지 예측 만 하지만, 에이전트는 행동 합니다.

비유:


🤖 AI 에이전트의 핵심 구성 요소

단순하든 복잡하든 모든 AI 에이전트는 "인지-사고-행동" 루프를 기반으로 구축됩니다.

  1. 인지 (센서): 에이전트가 환경을 "보는" 방식입니다. 최신 소프트웨어 에이전트에서 이는 물리적인 카메라가 아니라 사용자 텍스트, 이미지, API 응답 또는 시스템 알림과 같은 데이터 입력입니다.
  2. 의사결정 (두뇌): 인지한 내용을 처리하고 다음에 할 일을 결정하는 핵심 로직입니다. 고전적인 AI에서는 온도 조절기처럼 단순한 if-then 규칙일 수 있습니다. 현대의 에이전트에서 이 "두뇌"는 거대 언어 모델(LLM) 입니다.
  3. 행동 (액추에이터/도구): 에이전트가 목표에 더 가까워지기 위해 환경에 영향을 미치는 방식입니다. API 호출, 데이터베이스 쓰기, 이메일 전송, 로봇 팔 제어 등이 될 수 있습니다.

LLM 기반 에이전트의 부상

최근 AI 에이전트에 대한 관심이 폭발적으로 증가한 것은 LLM(Google의 Gemini 또는 OpenAI의 GPT-4 등) 때문입니다. LLM은 에이전트의 "두뇌"로서 거의 완벽한데, 두 가지 중요한 능력을 갖추고 있기 때문입니다.

  1. 추론 및 계획: LLM은 복잡하고 높은 수준의 목표를 받아 논리적인 단계별 계획으로 나눌 수 있습니다.
  2. 도구 사용: LLM은 외부 도구를 언제 어떻게 사용해야 하는지 이해할 수 있습니다. Google 검색 API, 코드 인터프리터 또는 예약 시스템에 대한 요청 형식을 학습할 수 있습니다.

현대 에이전트의 작동 방식: 에이전틱 루프 (ReAct)

현대 에이전트를 위한 가장 인기 있는 프레임워크는 ReAct라고 불리며, 이는 추론(Reasoning)과 행동(Acting) 을 의미합니다. 이는 LLM이 다음 단계를 파악하기 위해 "스스로에게 말하는" 연속적인 루프입니다.

자세한 예시를 살펴보겠습니다.

목표: "샌프란시스코 날씨는 어떻고, 어젯밤 워리어스 경기 누가 이겼어?"

검색 도구에 접근할 수 있는 에이전트는 다음 루프를 따릅니다.

1단계: 목표

에이전트는 사용자의 프롬프트로 시작합니다.

2단계: 사고 (Thought)

LLM(두뇌)이 생각합니다: "이건 두 부분으로 된 복잡한 요청이군. 먼저 샌프란시스코 날씨를 찾아야겠다."

3단계: 행동 (도구 사용)

LLM이 도구를 사용하기로 결정합니다. 단순히 "말"하는 것이 아니라 구조화된 명령을 출력합니다.

행동: search(query="샌프란시스코 날씨")

4단계: 관찰 (Observation)

에이전트의 프레임워크가 이 명령을 실행합니다. 검색 도구가 실행되고 결과를 반환합니다.

관찰: "샌프란시스코 날씨는 65°F이며 맑음."

5단계: 사고 (루프)

이 관찰 결과가 LLM에게 다시 전달됩니다. LLM이 생각합니다: "좋아, 날씨는 찾았어. 이제 워리어스 경기 결과를 찾아야겠다."

6단계: 행동 (도구 사용)

LLM이 다음 명령을 출력합니다.

행동: search(query="골든 스테이트 워리어스 어젯밤 경기 결과")

7단계: 관찰

도구가 실행되고 결과를 반환합니다.

관찰: "골든 스테이트 워리어스가 로스앤젤레스 레이커스를 121-110으로 이김."

8단계: 최종 답변

이 관찰 결과가 LLM에게 다시 전달됩니다. LLM이 생각합니다: "이제 사용자의 요청에 답하는 데 필요한 모든 정보를 가졌군." 그런 다음 사용자에게 통합된 최종 답변을 생성합니다.

최종 답변: "샌프란시스코 날씨는 65°F이며 맑고, 워리어스는 어젯밤 레이커스와의 경기에서 121-110으로 이겼습니다."

이 "사고 -> 행동 -> 관찰" 루프는 목표를 달성할 때까지 필요한 만큼 반복됩니다.


AI 에이전트의 유형

단순 (고전적) 에이전트

  1. 온도 조절기:
    • 목표: 20°C 유지.
    • 인지: 온도 센서.
    • 의사결정: if (온도 < 20) then 행동(히터, "켜기").
    • 행동: 히터에 "켜기" 신호 전송.
  2. 비디오 게임 AI (NPC):
    • 목표: 기지 방어.
    • 인지: 플레이어가 50미터 내에 있음.
    • 의사결정: 플레이어는 적이다. 공격해야 한다.
    • 행동: 플레이어를 향해 달려가 "공격" 애니메이션 실행.

고급 (LLM 기반) 에이전트

  1. 고객 서비스 에이전트:
    • 목표: "주문 반품하고 싶어요."
    • 인지: 사용자의 텍스트.
    • 의사결정: "데이터베이스를 확인하려면 사용자의 주문 번호가 필요해."
    • 행동: 사용자에게 주문 번호를 묻고, lookupOrder(order_id) 도구를 사용해 회사 데이터베이스를 쿼리.
  2. 소프트웨어 개발 에이전트:
    • 목표: "버그 #478 수정해."
    • 인지: 버그 리포트, 코드베이스 접근 권한.
    • 의사결정: "버그는 file.py 50번째 줄에 있군. null 체크를 추가해야겠어."
    • 행동: writeFile 도구를 사용하고, runTests 도구를 실행. 테스트가 통과하면 createPullRequest 도구를 사용.
  3. 미래의 개인 비서:
    • 목표: "다음 주 화요일 뉴욕행 비행기 300달러 미만으로 예약해 줘."
    • 행동: 검색 API를 사용해 항공편을 찾고, 필터 도구로 가격을 확인하며, 예약 API로 좌석을 예약하고, 결제 API로 구매를 완료.

☠️ 도전 과제와 미래

AI 에이전트는 엄청나게 강력하지만, 동시에 중대한 도전 과제를 안고 있습니다.

references